home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
031-040
/
amok37
/
skrÄbel
/
sc_computer-mod-asm.zoo
/
Skräbel-src
/
sc_Computer-Mod.ASM
/
Umlaute_Umgewandelt.ASM
< prev
next >
Wrap
Assembly Source File
|
1990-03-19
|
3KB
|
96 lines
;(*****************************************************************************
;
; :Program. Umlaute_Umgewandelt.ASM
; :Author. Georg Brünsing
; :Address. Grechte 2, D-4156 Willich 3
; :Phone. 02156/7534
; :ShortCut. gb
; :Support. -
; :Version. 1.0
; :Date. 20-Feb-89
; :Copyright. PD
; :Language. Assembler
; :Translator. Profimat / DATA BECKER
; :Imports. -
; :Update. -
; :History. -
; :ModHistory. -
; :Contents. Assembler Source für Skräbel
; :Remark. -
; :Usage. -
;
;*****************************************************************************)
UmlauteUmgewandelt:
; Eingang in A0 = UmwWortPtr : ADDRESS
; in A1 = VorBuchstPtr : ADDRESS
; in A2 = WortLenPtr(CARDINAL) : ADDRESS
; Ausgang in D0 = True wenn gewandelt wurde
\UmwWortPtr EQUR A0
\VorBuchstPtr EQUR A1
\WortLenPtr EQUR A2
\HilfsPtr EQUR A3
\Rückgabe EQUR D0
\UmlChar EQUR D0
\WortLen EQUR D1
\Char EQUR D2
\Diff EQUR D2
MOVEQ #0 , \Rückgabe
\Umlaute_suchen:
MOVE.B (\UmwWortPtr)+ , \UmlChar
BEQ.S \keine_Umwandlung
CMPI.B #"Ü" , \UmlChar
BEQ.S \Umlaut_in_Buchst_suchen
CMPI.B #"Ä" , \UmlChar
BEQ.S \Umlaut_in_Buchst_suchen
CMPI.B #"Ö" , \UmlChar
BNE.S \Umlaute_suchen
\Umlaut_in_Buchst_suchen:
MOVEA.L \VorBuchstPtr , \HilfsPtr
\Umlaut_in_Buchst_suchen_Schleife:
MOVE.B (\HilfsPtr)+ , \Char
BEQ.S \Umwandeln_Begin
CMP.B \Char , \UmlChar
BNE.S \Umlaut_in_Buchst_suchen_Schleife
BRA.S \Umlaute_suchen
\Umwandeln_Begin:
MOVEQ #-1 , \Diff
\Diff_feststellen:
ADDQ.L #1 , \Diff
TST.B (\UmwWortPtr)+
BNE.S \Diff_feststellen
MOVEA.L \UmwWortPtr , \HilfsPtr
ADDQ.L #1 , \UmwWortPtr
\Copy:
MOVE.B -(\HilfsPtr) , -(\UmwWortPtr)
DBRA \Diff , \Copy
SUBQ.L #2 , \UmwWortPtr
CMPI.B #"Ü" , \UmlChar
BNE.S \Auf_Ä_prüfen
MOVE.B #"U" , (\UmwWortPtr)+
MOVE.B #"E" , (\UmwWortPtr)
BRA.S \Umgewandelt
\Auf_Ä_prüfen:
CMPI.B #"Ä" , \UmlChar
BNE.S \Dann_ist_es_Ö
MOVE.B #"A" , (\UmwWortPtr)+
MOVE.B #"E" , (\UmwWortPtr)
BRA.S \Umgewandelt
\Dann_ist_es_Ö:
CMPI.B #"Ö" , \UmlChar
MOVE.B #"O" , (\UmwWortPtr)+
MOVE.B #"E" , (\UmwWortPtr)
\Umgewandelt:
ADDI.W #1 , (\WortLenPtr)
ST \Rückgabe
RTS
\keine_Umwandlung:
SF \Rückgabe
RTS
END